#define max 256
void __attribute__((section(".entry_function"))) _start(void)
{
    void (*printstr)(char *) = (void (*)(char *))0xffffffff8f0d5534;
    void (*printchar)(char) = (void (*)(char))0xffffffff8f0d5570;
    char *sign = (void *)0xffffffffbfe00005;
    char *data = (void *)0xffffffffbfe00000;

    (*printstr)("\rHello OS\n");
    /*
    *using this to make this kernal a little bigger
    */


  /*  int i, j, k;
    int arr_x[max][max];
    int arr_y[max][max];
    int arr_z[max][max];
    for (i = 0; i < max; i++)
        for (j = 0; j < max; j++)
            arr_x[i][j] = i, arr_y[i][j] = j, arr_z[i][j] = 0;
    for (i = 0; i < max; i++)
        for (j = 0; j < max; j++)
            for (k = 0; k < max; k++)
                arr_z[i][j] += arr_x[i][k] * arr_y[k][j];
                */
    while (1)
    {
        if (*sign & 0x01 == 1)
            (*printchar )(*data);
    }
}